/**
 * 数组的reduce方法
 *      1. reduce 方法接收一个函数作为累加器("连续操作数")
 *      2. 数组中的每个值(从左到右)开始合并(不一定是相加), 最终为一个值
 *      3. reduce为数组中的每一个元素[依次执行]回调函数, 但不包括数组被删除或从未被赋值的元素
 *      4. reduce方法最终返回的是最后一次调用累加器的结果
 *      5. 累加器函数接受四个参数: prevalue, nowvalue, nowIndex, arr
 *          -prevalue
 *              第一次调用时是初始值, 如果初始值没有指定, 就是数组中的第一个值, 同时nowvalue为数组中第二个值
 *              以后调用时是上一次该回调函数的返回值
 *          -nowvalue: 当前元素值
 *          -nowIndex: 当前索引
 *          -arr: 调用reduce的数组
 *  
 */

let arr = [2,3,5,7,11];
arr.reduce(function(prevalue, nowvalue, nowIndex, arr){
    console.log(prevalue, nowvalue, nowIndex, arr)
    return prevalue * nowvalue
},5)